package outros;

/*
 * Esse arquivo é parte do Software new Recicle
 * 
 * Copyright (C) 2011-$AnoCorrente$ Eduardo Moreira Barbosa
 * Copyright (C) 2011-$AnoCorrente$ João dos Santos Gonçalves
 * Copyright (C) 2011-$AnoCorrente$ Lucas Ximenes da Fonseca
 * 
 * new Recicle é um Software Livre: Você pode redistribuí-lo e/ou modificá-lo
 * de acordo com os termos da Licença Pública Geral GNU (GNU General Public License)
 * conforme publicada pela Free Software Foundation (FSF). Essa permissão é atribuída
 * na versão 3 da Licença, ou (na sua opinião) qualquer versão.
 * 
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa,
 * se não, escreva para a Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor,
 * Boston, MA  02110-1301  USA
 * 
 * Se você tiver alguma dúvida e/ou quiser dar suporte ao desenvolvimento, favor entrar em
 * contato nos e-mails <barbosa.edrd@gmail.com>, <john.jsg@hotmail.com>, <lxf.lucas@gmail.com>.
 */


import java.io.FileOutputStream;
import java.util.Date;

/*Import necessário apenas que deseja que o usuário insira um valor 
que será atribuído a variável que será inseria no parágrafo*/
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;

//import necessário apenas se for trocar a cor de alguma borda ou algo do tipo na tabela.
import java.awt.Color;

//imoprt necessário apenas se for definir o alinhamento de uma tabela.


//Import necessário apenas se for definir o tipo de folha que será gerado o arquivo.
import com.lowagie.text.PageSize;

//import necessário apenas se for importar alguma imagem para gerar o PDF.
import com.lowagie.text.Image;
import java.util.Vector;


public class Pdf {

    
        /**
         * Gerar Relatório
         * 
         * @param Nome      Nome do Associado
         * @param Material  Nome do Produto
         * @param Peso      Peso
         * @param Tipo      Tipo da Pesagem
         * @param DataAtual Data da Pesagem
         * @exception       Exceção Genérica
         * @author          Eduardo Moreira Barbosa
         * @author          João dos Santos Gonçalves
         * @author          Lucas Ximenes da Fonseca
         */
    
	public void gerarRelatorio(Vector<String> Nome, Vector<String> Material, Vector<Float> Peso, Vector<String> Tipo, Vector<String> DataAtual)
	{
		 
            Date dataSistema = new Date();
            String data = Data.GerarData();
            //NO windows só pegou assim 
            int n0; int n1;int n3;int n4;int n6;int n7;
		char c0 = data.charAt(0);
		n0 = (int) c0-48;
                char c1 = data.charAt(1);
		n1 = (int) c1-48;
                char c3 = data.charAt(3);
		n3 = (int) c3-48;
                char c4 = data.charAt(4);
		n4 = (int) c4-48;
                char c6 = data.charAt(6);
		n6 = (int) c6-48;
                char c7 = data.charAt(7);
		n7 = (int) c7-48;
                
		
            //String date = quebra[0] + "X" + quebra[1] + "X" + quebra[2];
            
		
         	//Aqui não só foi criado o documento, como também definido o tipo de papel que será gerado o arquivo. A4
        	Document document = new Document(PageSize.A4, 36, 36, 36, 36);
		
		try {
			
			PdfWriter.getInstance(document,	new FileOutputStream(n0+""+n1+"-"+n3+""+n4+"-"+n6+""+n7+".pdf"));
			document.open(); //Abrindo o documento

			float [] relativeWidths = {0.5f,0.5f};  
			
			PdfPTable header = new PdfPTable(relativeWidths);  
			Image logo = Image.getInstance(getClass().getResource("/imagens/ervilha/ascara1.png"));
			header.addCell(logo);
			document.add(logo);			
			
			document.add(new Paragraph("\n\n\n\n.                                 RELATÓRIO DE TRIAGEM DE RESÍDUOS SÓLIDOS\n\n"));
			float[] widths = {0.15f,0.6f, 0.5f, 0.3f,0.4f, 0.6f};
			PdfPTable table = new PdfPTable(widths);
			PdfPCell indice = new PdfPCell(new Paragraph("Nº: "));
			indice.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			table.addCell(indice);
                        PdfPCell nomeAssociado = new PdfPCell(new Paragraph("NOME: "));
			nomeAssociado.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			table.addCell(nomeAssociado);
			PdfPCell materialAssociado = new PdfPCell(new Paragraph("MATERIAL: "));
			materialAssociado.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			table.addCell(materialAssociado);
			PdfPCell pesoAssociado = new PdfPCell(new Paragraph("PESO: "));
			pesoAssociado.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			table.addCell(pesoAssociado);
                        PdfPCell tipoAssociado = new PdfPCell(new Paragraph("TIPO: "));
			tipoAssociado.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			table.addCell(tipoAssociado);
			PdfPCell dataAssociado = new PdfPCell(new Paragraph("DATA DE PESAGEM: "));
			dataAssociado.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			table.addCell(dataAssociado);
			for(int i = 0; i < Nome.size();i++){
                            table.addCell( "" + (i+1) );
                            table.addCell(Nome.get(i));
                            table.addCell(Material.get(i));
                            table.addCell(Peso.get(i) +" Kg");
                            table.addCell(Tipo.get(i));
                            table.addCell(DataAtual.get(i));
                        }
                        
			document.add(table);
			
			document.add(new Paragraph("\n\n\n\n\n\n\n\n\n\n\nRelátorio gerado em: "));
			String dates = " " + dataSistema;
                        document.add(new Paragraph(dates));
			
			//Fechando o documento
			document.close();
		} catch (Exception exception) {
			exception.printStackTrace();
		}

	}
        
}
